package com.cxso.example.request.location;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 定位-运输行程服务 (承运车辆历史轨迹)
 */
@Getter
@Setter
public class LocationVnoRouterPathRequest implements Serializable {

    @Schema(description = "车牌号")
    @NotBlank(message = "车牌号不能为空")
    private String vclN;

    @Schema(description = "车牌颜色(1 蓝色、2 黄色、3 黄绿色)", example = "2")
    @NotBlank(message = "车牌颜色不能为空")
    private String vco;

    @Schema(description = "开始时间 近 6 个月自然月", example = "2021-09-05 15:56:46")
    @NotNull(message = "开始时间不能为空")
    private Date startTime;

    @Schema(description = "结束时间 与开始时间相差 72 小时之内", example = "2021-09-05 23:56:46")
    @NotNull(message = "结束时间不能为空")
    private Date endTime;

    @Schema(description = "始发地坐标 始发地坐标和目的地坐标为一组，始发地行政区划编码和目的地行政区划编码为一组，都输入的时候以始发地坐标、 目的地坐标为准", example = "116.31795,30.4252")
    private String startLonlat;

    @Schema(description = "目的地坐标系 始发地坐标和目的地坐标为一组，始发地行政区划编码和目的地行政区划编码为一组，都输入的时候以始发地坐标、 目的地坐标为准", example = "110.9946817,25.9089816")
    private String endLonlat;

    @Schema(description = "始发地行政区划编码", example = "431102")
    private String startAreaCode;

    @Schema(description = "目的地行政区编码", example = "450324")
    private String endAreaCode;

    @Schema(description = "停车时长 (分钟)", example = "不填默认5min,(若输入，则最小值为5min，最大值为10000min)")
    private Integer parkMins;

    @Schema(description = "文件id")
    private String fileId;

}
